package org.example.mapper;

import org.apache.ibatis.annotations.Param;
import org.example.domain.User;
import org.example.vo.Condition;
import org.example.vo.Result;

import java.util.List;
import java.util.Map;

public interface UserMapper {
    //查询所有
    List<User> findAll();
    //新增
    void save(User user);
    //修改
    void update(User user);
    //删除
    void delete(Integer id);
    //统计
    Long count();
    //根据id去查询
    User findById( Integer id);
    //mybatis自带的方式
    List<User> findByNameAndAge1(String name, Integer age);
    //传递多个参数
    //@param("a") 注解  指定该参数对应的为xml文件中的a，和该参数名无关
    List<User> findByNameAndAge(@Param("name") String jjjj, @Param("age") Integer age);
    //参数是对象类型的  传递Pojo对象
    List<User> findByCondition(Condition condition);

    //只想查出一部分我需要的字段  使用pojo类型
    List<Result> findAll2();
    //使用map类型
    Map<String,Object> findUserById1(Integer id);

}
